The invention pertains to control systems and, more particularly, by way of non-limiting example, to methods and apparatus for serial information transfer with control devices.
The terms xe2x80x9ccontrolxe2x80x9d and xe2x80x9ccontrol systemsxe2x80x9d refer to the control of the operational parameters of a device or system by monitoring one or more of its characteristics. This is used to insure that output, processing, quality and/or efficiency remain within desired parameters over the course of time.
Control is used in a number of fields. Process control, for example, is typically employed in the manufacturing sector for process, repetitive and discrete manufactures, though, it also has wide application in electric and other service industries. Environmental control finds application in residential, commercial, institutional and industrial settings, where temperature and other environmental factors must be properly maintained. Control is also used in articles of manufacture, from toasters to aircraft, to monitor and control device operation.
Control systems typically utilize field devices that are physically integrated into the equipment being controlled. For example, temperature sensors are usually installed directly on or within the articles, bins, or conduits that process, contain or transport the materials being measured. Control devices such as valves, relays, and the like, must also be integrated with the equipment whose operations they govern.
In many control systems, field devices must exchange information with processors and other apparatus that manage or report on them. Brake pad wear sensors in an automobile, for example, transmit readings to a microprocessor elsewhere xe2x80x9cunder the hoodxe2x80x9d that monitors overall operations. Sensors and other control devices in process control systems must also exchange information with block and plant controllers that monitor and control broader operational parameters.
The so-called serial peripheral interface, or SPI, is commonly used for transferring information between microprocessors and peripheral devices, as well as between processors themselves. In its most basic form, it requires only three leads or other communications paths between devices. Those paths are commonly referred to as data-in, data-out, and clock.
Information transfers are initiated by the microprocessor or other device designated as the master. It asserts clocking signals on the clock line connecting the devices. With each pulse, the master shifts a bit onto its data-out path for transfer to the peripheral or other xe2x80x9cslavexe2x80x9d device""s data-in path. Later in the same clock cycle, the slave shifts a bit onto its data-out path for receipt at the master""s data-in path. This process typically repeats four, eight or more times, with each device collecting bits received from the other in a nibble, byte, word or longword register.
Notwithstanding the popularity of the SPI, it has some drawbacks. One of these is the necessity of continually shifting bits into and out from the data-in and data-out lines. Another is not so much inherent to the SPI as to its universality of application. Because manufacturers can make almost no assumptions about SPI compatible devices, except their ability to transfer bits, a considerable amount of control information must often be exchanged in order to set up each substantive data transfer.
U.S. Pat. No. 4,816,996 represents one prior art solution to these problems. It suggests the use of independent circuitry, referred to as a data serializer, to oversee the bit-wise transfer of individual data words into and out of the SPI. It also suggests that the microprocessor store each datum that is to be transferred in a queue, along with command and control information for the transfer. A queue manager then operates autonomously to execute each individual data transfer.
Though ""996 patent and others like it appear to advance the art, still further improvement is desirable. That patent, for example, still necessitates considerable processor activity to support each substantive data transfer. Moreover, it requires extensive hardware in order to support the auxiliary queue management function.
An object of this invention, accordingly, is to provide improved digital device interface apparatus and methods for transferring digital information.
A more particular object is to provide such apparatus and methods as are suitable for use in transferring information with control devices, such as sensors, analog/digital converters, servos, actuators, and the like. A still more particular object of the invention is to provide input/output modules and methods suitable for use with field devices configured for use in process control and in other control systems.
A related object of the invention is to provide such apparatus and methods as are suitable for use with microprocessors, embedded processors and other processors.
Still another object of the invention is to provide such apparatus and methods as are suitable for general application in transferring information between SPI ports, whether or not associated with control devices.
A further object of the invention is to provide such apparatus and methods as demand low computation and hardware overhead.
The aforementioned objects are among those attained by the invention, which provides in one aspect a digital device interface for transferring information between a processor and a control device. The processor can be, for example, a microprocessor, embedded processor or other general or special purpose digital data processing apparatus. The control device can be, for example, an analog/digital converter, a sensor, an actuator, or other control device for use in process control, environmental control or other control-related applications.
The interface includes a first serial peripheral interface (SPI), e.g., with data-in, data-out and clock ports, in serial communication with a second SPI. The first SPI can be coupled to, and associated with, the processor; the second SPI, with the control device.
A first transfer logic section, e.g., a shift register engine, transfers nibbles, bytes, word, longwords or other multi-bit datum between the processor and the control device. This is done by bit-wise or serial application of multi-bit datum to the first SPI for transfer to the second SPI, and/or reception from the first SPI of a multi-bit datum bit-wise or serially transferred thereto by the second SPI.
Thus, for example, the first transfer logic section can initiate transfer of a byte by asserting clocking signals on the clock line connecting the two SPIs. With each pulse, the first transfer logic shifts a bit onto the first SPI""s data-out port for transfer to the second SPI""s data-in port. Within the same clock cycle, the control device shifts a bit onto the second SPI""s data-out port for transfer to the first SPI""s data-in port. This process repeats four, eight or more times, thus transferring a nibble, byte or more in each direction.
A second transfer logic section effects a transfer transaction between the processor and the control devicexe2x80x94that is, the transfer of plural multi-bit datum relating to a common data access operation or a common data generation operation. For sensor-type control devices, such a transaction may include, for example, the continuous transfer of data sensed by the device. For a servo, actuator, or the like, the transaction may include, for example, a stream of set points or other control data generated by the processor (and/or its related data stores) for application to the control device.
According to further aspects of the invention, the second transfer logic section effects a transfer transaction by invoking the first transfer logic section for purposes of (i) transferring to the control device one or more multi-bit commands for initiating, e.g., a specific data collection operation, and/or (ii) receiving from the control device one or more multi-bit data containing the desired information. Depending on the operation and device characteristics, the commands can be interleaved with the resulting data (e.g., as where the digital device interface must issue repeated read commands in order to maintain a stream of output from the control device and/or where the the digital device interface must repeatedly check a xe2x80x9cdata readyxe2x80x9d bit to determine when the control device has new data ready for output).
Still further aspects of the invention provide digital interface devices as described above in which the second transfer logic section includes a state machine. The state of that machine can determine which multi-bit datum the second transfer logic section invokes the first transfer logic section to transfer with the control device. For example, initialization states of a given state machine may cause a series of register initializing words to be sent to the control device. Later data transfer states may cause read operations to be sent to the device and resultant data words to be sent back from it.
Other aspects of the invention provide a digital device interface including a first SPI in serial communication with a second SPI. A first transfer logic section transfers multi-bit datum between the SPIs in a serial or bit-wise fashion. A second transfer logic section effects a transfer transaction between the fist and second SPI, where, as above, the transaction encompasses the transfer of plural multi-bit datum relating to a common data access operation or a common data generation operation.
Related aspects of the invention provide such digital device interface in which the second transfer logic section incorporates features and operates in the manner of the like named section of digital device interface described above.
Yet still other aspects of the invention provide methods of transferring information between a processor and a control device and methods of serial digital data transfer paralleling the operations described above.
Advantages of methods and apparatus according to the invention is that they further reduce the processor load otherwise required for handling data transfers over the SPIs. Though suited for a wide range of applications, the methods and apparatus well suited for use in process control and other control applications, which typically utilize embedded processors, microprocessors and other smaller processors.